// components/loginTemp/loginTemp.js
const app = getApp();
var util = require('../../utils/util.js'); //工具类
var http = require('../../service/http.js'); //请求类
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    /**
     * 是否点击了登录按钮
     */
    showLogin: {
      type: Boolean,
      value: false,
      observer:function(newVal,oldVal){
        console.log(newVal);
      }
    },
    /**
     * 登录动画
     */
    animationData: {
      type: Object,
      value: {}
    },

  },

  /**
   * 组件的初始数据
   */
  data: {
    isLogin: false, //是否点击了登录按钮
  },

  /**
   * 组件的方法列表
   */
  methods: {
    //-------登陆动画-------------------
    // loginAnimation: function() {

    //   app.loginAnimation(); //this 用于传递 userlogin 的分享店铺信息
    //   this.setData({
    //     isAuthorization: app.data.isAuthorization,
    //     animationData: app.data.animationData,
    //     showLogin: app.data.showLogin,
    //   })

    // },

    //点击用户登录按钮
    getUserInfo: function(e) {

      //查看是否允许授权
      let errMsg = e.detail.errMsg;

      if (errMsg == 'getUserInfo:ok') {

        this.userLogin(e);

      } else { //未授权，打开设置

        //设置登录按钮状态
        this.setData({
          isLogin: false, //此时用户可点击登录按钮
        })

        app.connectionTimeout('请允许获得您的公开信息（头像、昵称）用于登录');

      }
    },

    // 用户登录
    userLogin: function(e) {

      //查看是否允许授权
      let  shareKe = this.data.shareKey;

      let shopInfo = wx.getStorageSync('shopInfo') || {};
      let isAuthorization = '';
      let pageUrl = this.data.pageUrl;

      this.setData({
        isLogin: true, //是否点击登录按钮
      })

      app.userLogin(e, this); //携带onload分享的shopuid 数据

      //周期检查登录态 （登录请求回调后：1.关闭动画2.设置并保存店铺信息到本地3.）
      var loginInterval = setInterval(()=> {

        isAuthorization = app.data.isAuthorization;
        if (isAuthorization === true) { //已登录成功
          wx.showTabBar();
          clearInterval(loginInterval); //停止周期循环任务
          this.cancelAnimation(); //登录后关闭登录动画

          shopInfo = wx.getStorageSync('shopInfo');
          if (shareKey == '0' && shopInfo.isOwnShop !== '1') { //没有自己的店铺
            //设置店铺信息 根据店铺信息查找订单、购物车数量
            this.setShopInfo();
          } else {
            //设置店铺标题
            app.setShopTitle();
            //刷新商品列表
            this.onPullDownRefresh();
          }

          this.setData({
            isAuthorization: app.data.isAuthorization,
            showLogin: false,
            isBindPhone: wx.getStorageSync('isBindPhone'), //根据绑定状态获取用户授权
          })

          //-------------（点击首页广告）跳转至商品详情---------------
          if (pageUrl != '') {
            setTimeout(()=> {
              app.selectProductById(this);
            }, 1000)
          }
        }
      }, 100)
      //十秒钟提示网络链接超时重试
      setTimeout(()=> {
        //网络链接超时的可能
        if (!isAuthorization) {
          clearInterval(loginInterval); //停止周期循环任务
          console.log('客户端登录情况isAuthorization：' + isAuthorization);
          //超时重新登录提示
          app.connectionTimeout("网络链接异常,请重新登录");
          this.setData({
            isLogin: false, //是否点击了登录按钮
          })
        } else {
          console.log('定时任务结束');
        }
      }, 1000 * 10);
    },

    //------------------关闭/开启购物车动画----------------
    cancelAnimation: function(toCancel) {
      app.cancelAnimation();
      //showSkuList、shareProduct分别为判断显示弹出内容
      this.setData({
        showSkuList: false,
        shareProduct: false,
        animationData: app.data.animationData, //加入购物车动画
      })
      //动画延时播放
      setTimeout(()=> {
        this.setData({
          isshow: app.data.isshow,
          showLogin: app.data.showLogin,
          animationData: app.data.animationData, //加入购物车动画
          isLogin: false, //是否点击了登录按钮
        })
      }, 300)
    },


  }
})